/* Standalone account screens, matching the advertiser portal reference. */
body.rmc-add-new-company-page.anc-auth-page { background: #f5f5f5; color: #222; font: 15px/1.55 var(--anc-font-family); }
.anc-auth-page .anc-auth-shell, .anc-auth-page .anc-auth-shell * { box-sizing: border-box; }
.anc-auth-page main.anc-auth-shell { display: block; width: 100%; padding: 32px 16px; min-height: 100vh; text-align: left; font-style: normal; }
.anc-auth-page .anc-auth-card { width: 100%; max-width: 470px; margin: 0 auto; padding: 36px 38px 32px; border-radius: 18px; background: #fff; box-shadow: 0 12px 42px #00000012; }
.anc-auth-page .anc-auth-signup { max-width: 605px; }
.anc-auth-page .anc-auth-brand { text-align: center; margin-bottom: 28px; }
.anc-auth-page .anc-auth-brand a { display: inline-block; color: var(--anc-accent); font-size: 25px; font-weight: 700; text-decoration: none; }
.anc-auth-page .anc-auth-logo { display: block; width: auto; height: auto; max-width: 265px; max-height: 72px; object-fit: contain; margin: 0 auto; }
.anc-auth-page .anc-auth-brand p { margin: 12px 0 0; color: #8b8b8b; font-size: 11px; line-height: 1.5; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; }
.anc-auth-page .anc-auth-intro { text-align: center; margin: 0 0 28px; }
.anc-auth-page .anc-auth-signup .anc-auth-intro { text-align: left; margin-bottom: 22px; }
.anc-auth-page .anc-auth-intro h1 { color: #111; font: 700 20px/1.55 var(--anc-font-family); margin: 0 0 10px; }
.anc-auth-page .anc-auth-intro p { margin: 0; color: #777; font: 13px/1.55 var(--anc-font-family); }
.anc-auth-page .anc-auth-card form { display: block; width: 100%; margin: 0; }
.anc-auth-page .anc-auth-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 14px; }
.anc-auth-page .anc-auth-field { margin: 0 0 17px; min-width: 0; }
.anc-auth-page .anc-auth-field label { display: block; font: 700 13px/1.55 var(--anc-font-family); color: #555; margin-bottom: 6px; }
.anc-auth-page .anc-auth-required { color: #c12e38; }
.anc-auth-page .anc-auth-field input { display: block; width: 100%; height: 45px; padding: 10px 13px; border: 1px solid #ddd; border-radius: 7px; background: #fff; color: #222; font: 400 15px/normal var(--anc-font-family); box-shadow: none; }
.anc-auth-page .anc-auth-field input::placeholder { color: #aaa; }
.anc-auth-page .anc-auth-field input:focus { outline: 2px solid color-mix(in srgb,var(--anc-accent) 45%,#fff); outline-offset: 1px; border-color: var(--anc-accent); }
.anc-auth-page .anc-auth-field input[aria-invalid='true'] { border-color: #c12e38; }
.anc-auth-page .anc-auth-field-error { display: block; color: #b52934; font-size: 12px; margin-top: 4px; }
.anc-auth-page .anc-auth-field-error:empty { display: none; }
.anc-auth-page .anc-auth-forgot { text-align: right; margin: 4px 0 20px; }
.anc-auth-page .anc-auth-card a { color: var(--anc-accent); }
.anc-auth-page .anc-auth-consent { display: flex; align-items: flex-start; gap: 10px; margin: 4px 0 20px; color: #777; font-size: 14px; font-weight: 400; }
.anc-auth-page .anc-auth-consent input { flex: 0 0 auto; width: 15px; height: 15px; margin: 3px 0 0; accent-color: var(--anc-accent); }
.anc-auth-page .anc-auth-consent a { text-decoration: underline; }
.anc-auth-page .anc-auth-submit { display: block; width: 100%; min-height: 50px; padding: 12px 20px; border: 0; border-radius: 28px; background: var(--anc-accent); color: #fff; font: 700 16px/1.4 var(--anc-font-family); cursor: pointer; }
.anc-auth-page .anc-auth-submit:hover { background: color-mix(in srgb,var(--anc-accent) 86%,#000); }
.anc-auth-page .anc-auth-submit:focus-visible, .anc-auth-page a:focus-visible { outline: 3px solid #90a8dc; outline-offset: 3px; }
.anc-auth-page .anc-auth-switch { margin: 20px 0 0; color: #777; text-align: center; font-size: 14px; }
.anc-auth-page .anc-auth-switch a { font-weight: 700; text-decoration: none; }
.anc-auth-page .anc-auth-alert { padding: 12px; background: #fff5f5; border: 1px solid #efb8bd; border-radius: 7px; color: #a32730; font-size: 13px; margin-bottom: 20px; }
@media (max-width: 480px) {
    .anc-auth-page main.anc-auth-shell { padding: 20px 12px; }
    .anc-auth-page .anc-auth-card { padding: 28px 22px; }
    .anc-auth-page .anc-auth-grid { grid-template-columns: 1fr; gap: 0; }
    .anc-auth-page .anc-auth-logo { max-width: 100%; }
}

.anc-auth-page .anc-auth-notice {
    padding: 12px;
    margin-bottom: 20px;
    border: 1px solid #b9ddc5;
    border-radius: 7px;
    background: #eff9f2;
    color: #216337;
    font-size: 13px;
}

/* Underline the existing-account sign-in links. */
.anc-auth-page .anc-auth-alert a,
.anc-auth-page .anc-auth-field-error a {
    text-decoration: underline;
    text-underline-offset: 2px;
}
